home *** CD-ROM | disk | FTP | other *** search
- import javax.microedition.lcdui.Canvas;
- import javax.microedition.lcdui.Command;
- import javax.microedition.lcdui.CommandListener;
- import javax.microedition.lcdui.Display;
- import javax.microedition.lcdui.Displayable;
- import javax.microedition.lcdui.Graphics;
-
- public class MemDisplay extends Canvas implements CommandListener, Backable {
- private static final Command[] COMMANDS = new Command[]{new Command("Continue", 4, 1), new Command("New Game", 1, 2), new Command("Exit", 6, 3)};
- private static MemBoard playBoard = new MemBoard();
- private static Display display;
- private static Graphics graphics;
- private static Quitable winQuit;
-
- public MemDisplay() {
- for(int var1 = 0; var1 < COMMANDS.length; ++var1) {
- ((Displayable)this).addCommand(COMMANDS[var1]);
- }
-
- }
-
- public void paint(Graphics var1) {
- graphics = var1;
- playBoard.drawBoard(graphics);
- playBoard.drawCursor(graphics);
- }
-
- public void activate(Display var1, Quitable var2) {
- display = var1;
- winQuit = var2;
- display.setCurrent(this);
- ((Displayable)this).setCommandListener(this);
- }
-
- protected void keyPressed(int var1) {
- int var2 = ((Canvas)this).getGameAction(var1);
- playBoard.eraseCursor(graphics);
- switch (var2) {
- case 1:
- playBoard.moveCursor(0);
- break;
- case 2:
- playBoard.moveCursor(2);
- case 3:
- case 4:
- case 7:
- default:
- break;
- case 5:
- playBoard.moveCursor(3);
- break;
- case 6:
- playBoard.moveCursor(1);
- break;
- case 8:
- if (playBoard.showCard(graphics)) {
- try {
- Thread.currentThread();
- Thread.sleep(500L);
- } catch (InterruptedException var4) {
- }
-
- playBoard.drawBoard(graphics);
- }
- }
-
- playBoard.drawCursor(graphics);
- if (playBoard.gameOver()) {
- MemGameEnd var3 = new MemGameEnd(playBoard.numTrys());
- var3.activate(display, this, winQuit);
- }
-
- }
-
- public void show() {
- display.setCurrent(this);
- ((Displayable)this).setCommandListener(this);
- playBoard.eraseCursor(graphics);
- playBoard.newGame();
- playBoard.drawBoard(graphics);
- playBoard.drawCursor(graphics);
- }
-
- public void commandAction(Command var1, Displayable var2) {
- if (var1 == COMMANDS[1]) {
- playBoard.eraseCursor(graphics);
- playBoard.newGame();
- playBoard.drawBoard(graphics);
- playBoard.drawCursor(graphics);
- } else if (var1 == COMMANDS[2]) {
- winQuit.quit();
- }
-
- }
- }
-